package org.zn.note.mybatis;

/**
 * 事务ACID （原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability）
 * 原子性：事务所有的动作，要么全发生，要么全不发生 （偏向过程）
 * 一致性：数据一致性，最终的数据要完整正确，就是这个数据要是逻辑正确的 （偏向结果）
 *        关于一致性，也可以理解为事务的最终结果，原子性、隔离性、持久性都是为了得到数据的一致性！
 *        也就是当你提供给别人的这些数据，要是“一致”的。
 *        比如
 *        00:00 select a, b from table
 *        00:01 update a and commit
 *        00:02 返回的select结果，一定是 00:00时的 a和b
 *        也就是 00:00的a和b是一组一致性的数据，然后00:01的a和b也是一组一致性的数据
 *        一致性数据是为了满足业务的正确性，但是技术性可以用时间维度衡量一致性
 * 隔离性：事务之间互相隔离，彼此不能看到中间数据，不能看到数据变化的中间状态，只能看到数据的最终状态 （偏向关系）
 * 持久性：事务一旦提交了，对数据的改变是永久性的
 */
public class Transaction {
}
